(GtkBuilderConverter._convert_menuitem): Add support for CheckMenuItems
authorJohan Dahlin <johan@src.gnome.org>
Sat, 7 Jul 2007 16:14:30 +0000 (16:14 +0000)
committerJohan Dahlin <johan@src.gnome.org>
Sat, 7 Jul 2007 16:14:30 +0000 (16:14 +0000)
    and do not set name and action on separators

svn path=/trunk/; revision=18394

ChangeLog
gtk/gtk-builder-convert

index 8523ccca3784e26a1b650c3e0cb5a1e23e4f53fc..9949a697ff554d63540cfab1bc03c8f0048b1445 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,8 @@
        <interface>
        (GtkBuilderConverter._parse): Remove unsupported atkrelation and atkproperty
        tags
+       (GtkBuilderConverter._convert_menuitem): Add support for CheckMenuItems
+       and do not set name and action on separators
 
 2007-07-06  Richard Hult  <richard@imendio.com>
 
index 5435acf56d922ffa45bfe5612b5e14ecf02f6210..d18e48638b6d9fec9f866b059c357c66354f937e 100755 (executable)
@@ -281,15 +281,20 @@ class GtkBuilderConverter(object):
                 name = 'menu'
 
         object_class = obj_node.getAttribute('class')
-        if object_class in ['GtkMenuItem', 'GtkImageMenuItem']:
+        if object_class in ['GtkMenuItem',
+                            'GtkImageMenuItem',
+                            'GtkCheckMenuItem']:
             menu = self._dom.createElement(name)
+            menubar.appendChild(menu)
         elif object_class == 'GtkSeparatorMenuItem':
-            menu = self._dom.createElement('sep')
+            sep = self._dom.createElement('separator')
+            menubar.appendChild(sep)
+            return
         else:
             raise NotImplementedError(object_class)
+
         menu.setAttribute('name', obj_node.getAttribute('id'))
         menu.setAttribute('action', obj_node.getAttribute('id'))
-        menubar.appendChild(menu)
         self._add_action_from_menuitem(uimgr, obj_node)
         if children:
             for child in get_child_nodes(menu_node):
@@ -316,6 +321,14 @@ class GtkBuilderConverter(object):
                 properties['label'] = label
         elif object_class == 'GtkSeparatorMenuItem':
             return
+        elif object_class == 'GtkCheckMenuItem':
+            name = 'GtkToggleAction'
+            label = get_property(node, 'label')
+            if label is not None:
+                properties['label'] = label
+            active = get_property(node, 'active')
+            if active is not None:
+                properties['active'] = active
         else:
             raise NotImplementedError(object_class)